Embodiments of the present invention relate to a system for detecting loaded resources for a web page and modifying subsequent web pages to avoid re-initialization or reloading of the loaded resources.
Web sites typically provide a number of inter-related pages to present information and interact with a user. These web pages can utilize resources such as JAVASCRIPT®, by Sun Microsystems of Santa Clara, Calif., and cascading style sheets (css) to provide specific functionality or generate content to be displayed to a user. Resources like JAVASCRIPT® and cascading style sheets are interpreted and initialized at the client through a browser application.
Many types of resources are utilized by multiple pages in a web site or across multiple websites. These resources are initialized by a browser or similar client side application upon interpreting the web page as it is received from the web server of the web site. In many cases, the re-use or subsequent use of a resource by another web page or website disrupts an executing instance of the resource. In other cases, the multiple redundant instances of a resource are initialized and executed by separate pages. These problems are addressed or avoided by server side design and programming.
These issues are avoided by carefully programming a web site to avoid multiple initialization calls to any resource that is not idempotent. Similarly, all resource utilized by a website can be specifically designed to be idempotent. These techniques however place additional burdens on programmers by adding additional programming and design complexity. These techniques can also hinder error checking or debugging efforts, because testing of individual pages may not be possible because initialization of a resource requires another page to have already been loaded.